1. Field of the Invention
The present invention relates generally to computer networks and, more specifically, to active or programmable networks, i.e., networks based on datagram based packet switching algorithms and switch configurations, which are subject to constant change over time. In datagram-based packet switching, packets are switched and routed independently of each other.
2. Related Art
Network switches are an integral part of a computer network and are essential in ensuring that data distributed through networks properly reaches its destination. As computer networks continue to evolve, the functionality and complexity of network switches have also evolved and they have become more intelligent. The algorithms controlling the behavior of switches continue to mature as the demands of network applications increase.
A network edge switch is a packet switch that: (1) partitions the network end nodes spatially into two mutually exclusive sets A={a[1], . . . , a[p]} and N={n[1], . . . , n[q]}, where each of a[i] and n[j] is an end node and p and q are positive integers; and (2) performs packet forwarding functions for traffic between A and N, that is, for traffic microflows of the form a[i]→n[j] and n[j]→a[i].
In prior art switches, an algorithm or a configuration change in a switch was performed (consciously) by the administrator who must schedule a down time for the switch. Unfortunately, the switch was unable to perform its functions while the code is changed and/or the configuration data is modified. As a result, datagrams normally handled by the switch must be routed through an alternate switch during the upgrade to prevent data loss. This kind of re-routing usually results in a period of instability involving datagram loss, datagram re-ordering and/or datagram duplication, all of which are disruptive to applications running on host computers connected to these networks.
In cases where no such alternative routing is possible, down time must be scheduled for the network. Even packet switch down time scheduled well in advance can be very costly, especially in today's high-speed networks. As a result, network administrators try to minimize down time as much as possible.
In networks where network, transport, session and/or application layer switching is performed, there are many circumstances that require a code or configuration change. For example, as forwarding algorithms (e.g., firewalls, virus scans and intrusion detection) in switches evolve, the meaning of commercially acceptable quality changes. Thus, network switch customers constantly update these algorithms, either manually or via automated network management. Furthermore, the configuration files in network switches need to be periodically updated without disrupting any application traffic through datagram loss, reordering or duplication. Datagram loss for more than a few hundred milliseconds causes a severe degradation in quality, even for a single subscriber session, and can render network service unacceptable for many network applications, such as real-time voice over IP. For switches deployed in service provider networks with large numbers of subscriber sessions, even a tiny amount of datagram loss has an unacceptable impact on subscriber revenue or satisfaction.
A key aspect of the related art is the management and control of any packet switch. It is critical that the switch be viewed as a single system by the administrator, who has to manage it by executing commands at a console. Managing multiple systems is cumbersome and expensive, compared to managing a single system that can perform all the functions of the multiple system alternative; hence in packet switching the requirement for a “single system” view has evolved. A system can be considered a “single system” view for management purposes when one or more of the following conditions are met:                a. the system has a single enclosure requiring at most a single power source, and if the box enclosure has status LEDs on any of its panels, the system should not require more than a single LED that indicates whether the packet forwarding logic inside the enclosure is Up (operational) or Down (non operational);        b. the system requires at most a single asynchronous serial communications port (such as a modem or console port) for control and management commands to be issued. Examples of such commands include MIGRATE TASK, UPDATE ALGORITHM and the like;        c. the system when managed by the industry standard SNMP protocol must require at most a single IP address for SNMP management stations to monitor it, and in a visual display on such a management station the system must appear as a single icon labeled with a single name and a single IP address;        d. the system when managed by other IP based terminal programs (such as TELNET or SSH) requires at most a single IP address;        e. the system if managed by any Layer 2 Ethernet based network management scheme that may be defined in future, requires at most a single unicast Ethernet MAC address;        f. the system requires a single set of configuration parameters, some or all of which have a dependency relationship on each other; this single set of possibly inter-related parameters defines a coherent personality for the switch being configured.        